home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / minix / update~1.z / update~1 / gkernel / mm / mm.dif
Encoding:
Text File  |  1989-08-24  |  1.9 KB  |  67 lines

  1. *** /tmp/,RCSt1a27484    Thu Aug 24 00:04:09 1989
  2. --- signal.c    Mon Aug 14 23:25:25 1989
  3. ***************
  4. *** 104,111 ****
  5.     int i, j, proc_id, proc_nr, id;
  6.     unshort sig_map;        /* bits 0 - 15 for sigs 1 - 16 */
  7.   
  8. !   /* Only kernel and FS may make this call. */
  9. !   if (who != HARDWARE && who != FS_PROC_NR) return(EPERM);
  10.   
  11.     proc_nr = mm_in.PROC1;
  12.     rmp = &mproc[proc_nr];
  13. --- 104,112 ----
  14.     int i, j, proc_id, proc_nr, id;
  15.     unshort sig_map;        /* bits 0 - 15 for sigs 1 - 16 */
  16.   
  17. !   /* Only kernel may make this call. */
  18. !   if (who != HARDWARE) return(EPERM);
  19. !   dont_reply = TRUE;        /* don't reply to the kernel */
  20.   
  21.     proc_nr = mm_in.PROC1;
  22.     rmp = &mproc[proc_nr];
  23. ***************
  24. *** 130,136 ****
  25.       if ( (sig_map >> i) & 1) check_sig(id, j, SUPER_USER);
  26.     }
  27.   
  28. -   dont_reply = TRUE;        /* don't reply to the kernel */
  29.     return(OK);
  30.   }
  31.   
  32. --- 131,136 ----
  33. ***************
  34. *** 178,191 ****
  35.        * can arrive just as the timer is being turned off.  Also, turn off
  36.        * ALARM_ON bit when timer goes off to keep it accurate.
  37.        */
  38.       if (sig_nr == SIGALRM) {
  39.           if ( (rmp->mp_flags & ALARM_ON) == 0) continue;
  40. !         if (send_sig) rmp->mp_flags &= ~ALARM_ON;
  41.       }
  42. -     if (send_sig == FALSE) continue;
  43.       count++;
  44. -     if (rmp->mp_ignore & mask) continue;
  45.   
  46.   #ifdef AM_KERNEL
  47.       /* see if an amoeba transaction should be signalled */
  48. --- 178,194 ----
  49.        * can arrive just as the timer is being turned off.  Also, turn off
  50.        * ALARM_ON bit when timer goes off to keep it accurate.
  51.        */
  52. +     /* bug fix as per:
  53. +        Date:         Thu, 15 Dec 88 09:28:03 GMT
  54. +        From:         Chip Roberson <csrobe@CS.WM.EDU>
  55. +        Subject:      sleep() [SIGALRM] bug in 1.2
  56. +      */
  57. +     if (send_sig == FALSE || rmp->mp_ignore & mask) continue;
  58.       if (sig_nr == SIGALRM) {
  59.           if ( (rmp->mp_flags & ALARM_ON) == 0) continue;
  60. !         rmp->mp_flags &= ~ALARM_ON;
  61.       }
  62.       count++;
  63.   
  64.   #ifdef AM_KERNEL
  65.       /* see if an amoeba transaction should be signalled */
  66.